The invention relates to new and useful improvements in video displays, and more particularly to video graphics displays, and most particularly to drawing lines on video graphics displays.
Video graphics displays of all types are usually organized on the display medium as two-dimensional arrays of discrete, uniformly-spaced picture elements known as pixels. Images are formed by illuminating selected pixels to one of several intensities in correspondence with a value stored in a digital memory known as a frame buffer. Typical of such displays are active-matrix liquid crystal display (LCD) panels. On such displays, pixels are centered on integer screen x-y coordinates ("centered" arrangement) or are offset in the x-direction in every other row typically by one-half unit ("triad" or "delta" arrangement).
Graphics images are formed by combining several basic shapes such as straight lines and arcs, which are known as "primitives". As used in connection with the present invention, it is intended that the term "line" mean all types of open primitives having two ends and a middle, regardless of whether the middle is straight or curved. Closed shapes, such as circles, can be viewed as compound shapes comprised of two or more curved or straight lines.
When drawn on displays using discrete pixels, lines suffer from a condition known as "aliasing". Aliasing affects all lines, but it is most easily understood in relation to straight lines. The present application describes the invention as applied to straight lines, but it should be understood that the same principles are applicable to other types of lines, whether in singular or compound form. While display pixels are centered at discrete intervals, lines usually pass between pixels or somewhere in the pixel other than the exact center. Instead of line segments having the desired smooth, continuous appearance, aliasing results in line segments which have jagged, "stairstepped" edges. In dynamic displays aliasing also results in distracting jumpy, crawling movement.
It is known in the art that aliasing can be alleviated by proper use of pixel intensity. Modulation of pixel intensity along a line permits a line to appear to be positioned between pixel centers. This produces static displays having lines and shapes with a smooth, pleasing appearance which does not vary with angular orientation. Line end points may be formed as semicircular appendages to both ends of the line having a radius of one-half the line width and centered at the exact end point. This eliminates gaps and other anomalies at the corners of symbols constructed of several connected line segments since the end of one line coincides exactly with the beginning on another. In dynamic displays, this provides images having smooth, natural movement.
This process is exemplified by Gupta and Sproull, "Filter Edges for Gray-Scale Displays", Computer Graphics, August 1981, pages 1-5, and U.S. Pat. No. 4,612,540 to Pratt, both of which are incorporated herein by reference. These references accomplish anti-aliasing by employing the perpendicular distance from the center of a pixel to the center of the line as an index of a look-up table of pre-computed intensity values. The look up table entries define the cross-sectional intensity profile of the line computed by convolving a low-pass filter function with an ideal line function, which comprises a rectangular profile of some desired width. Both references also teach that endpoints must be treated as special cases, but neither gives due consideration to generation of semicircular end points.
Use of perpendicular distance as disclosed by the prior art is disadvantageous due to arithmetic and hardware complexity required for its calculation. Calculation is required for every pixel in the region along the line segment to be generated and in regions surrounding both end points. This wastes large amounts of valuable time and in dynamic displays degrades the realism of the displayed image. The difficulty can be further exacerbated by the particular arrangement of pixels employed by LCD media, which, unlike CRT's, need not be in a convenient rectilinear array.
It is therefore an object of the present invention to provide an improved method of forming graphics primitives on a video display which does not require explicit calculation of perpendicular distance for evaluation of pixel intensity.
It is another object of the present invention to provide an improved method of forming graphics primitives on a video display which requires less hardware than prior art methods.
It is a further object of the present invention to provide an improved method of forming graphics primitives on a video display which is faster than prior art methods.
It is yet another object of the present invention to provide an improved method of forming lines on a graphics display which has semicircular end points of similar cross-sectional intensity profile as that employed along the line.